package org.nf.product.dao;

import org.nf.product.model.Product;

import java.util.List;

/**
 *产品DAO接口
 */
public interface ProductDAO {

    /**
     * 添加数据
     * @param product
     * @return
     */
    int insertProduct(Product product);

    /**
     * 删除数据
     * @param productId
     * @return
     */
    int deleteProduct(int productId);

    /**
     * 修改数据
     * @param product
     * @return
     */
    int updateProduct(Product product);

    /**
     * 通过姓名查询数据
     * @param productName
     * @return
     */
    List<Product> selectProductName(String productName);

    /**
     * 分页查询产品列表
     * @param numberOf 从第几条开始查询
     * @param limit 取多少条
     * @return
     */
    List<Product> listProductPage(Product product, int numberOf, int limit);

    /**
     * 查询全部产品
     * @return
     */
    List<Product> listProduct(Product product);


    /**
     * 查询总记录数，用于计算总页数
     * @return
     */
    Long countProduct();

}
